package com.ttg.model.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class PeopleInfoGetListVo {

    /**
     * 人群编号
     */
    @JsonProperty("id")
    private Integer id;


    /**
     * 人群英文名
     */
    @Excel(name = "人群英文名称")
    @JsonProperty("pep_en_name")
    private String pepEnName;


    /**
     * 人群名称
     */
    @Excel(name = "人群名称")
    @JsonProperty("pep_name")
    private String pepName;

    /**
     * 备注
     */
    @JsonProperty("pep_description")
    private String pepDescription;


    /**
     * 最新版本计算状态(0.成功 1.失败 2.计算中 3.等待计算 4.延迟计算)
     */
    @Excel(name = "最新版本状态",replace = {
            "初始状态_0",
            "计算成功_1",
            "计算失败_4",
            "计算中_9",
            "计算取消_2",
            "等待计算_3",
            "延迟计算_5"
    })
    @JsonProperty("version_status")
    private Integer versionStatus;


    /**
     * 更新方式
     */
    @Excel(name = "更新方式")
    @JsonProperty("update_type")
    private String updateType;

    /**
     * 人群数
     */
    @Excel(name = "人群人数")
    @JsonProperty("pep_num")
    private Integer pepNum;

    /**
     * 人群状态(0.正常运行 1.已暂停2.已删除)
     */
    @Excel(name = "人群状态",  replace = {"正常_0", "暂停_1", "删除_2"})
    @JsonProperty("pep_status")
    private Integer pepStatus;

    /**
     * 创建人
     */
    @JsonProperty("adm_true_name")
    private String admTrueName;

    /**
     * 创建时间
     */
    @JsonProperty("add_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime addTime;

    /**
     * 最近更新时间
     */
    @Excel(name = "最近更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonProperty("his_run_time")
    private LocalDateTime hisRunTime;

    /**
     * 创建类型 system-系统预定义，customize-自定义添加
     */
    @Excel(name = "创建方式")
    @JsonProperty("create_type")
    private String createType;

    /**
     * 占用状态 0.占用中1.无占用 TODO 待确认人群推广计划
     */
    @JsonProperty("occupy_status")
    private Integer occupyStatus;

}
